package com.xyht.sca_s.student_manage_system.modules.visitor.controller;


import com.xyht.sca_s.student_manage_system.auth.util.JwtTokenUtil;
import com.xyht.sca_s.student_manage_system.common.annotation.VisitorExcludeCheck;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.common.desEncodeAndDecode.annotation.SecretBody;
import com.xyht.sca_s.student_manage_system.modules.visitor.entity.vo.SmsVisitorProcessVO;
import com.xyht.sca_s.student_manage_system.modules.visitor.entity.vo.SmsVisitorRegisterVO;
import com.xyht.sca_s.student_manage_system.modules.visitor.service.SmsVisitorProcessService;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author XYHT
 * @since 2023-04-18
 */
@SecretBody
@RestController
@RequestMapping("/visitor/smsVisitorProcess")
public class SmsVisitorProcessController {
    @Autowired
    SmsVisitorProcessService smsVisitorProcessService;
    @Autowired
    JwtTokenUtil jwtTokenUtil;

    @ApiModelProperty(value = "新增审批流程")
    @VisitorExcludeCheck
    @PostMapping("/smsVisitorProcessAdd")

    public ResponseResult smsVisitorProcessAdd(@RequestBody SmsVisitorProcessVO smsVisitorProcess, SmsVisitorRegisterVO smsVisitorRegister){
        return smsVisitorProcessService.smsVisitorProcessAdd(smsVisitorProcess,smsVisitorRegister);
    }
    @ApiModelProperty(value = "删除审批流程")
    @VisitorExcludeCheck
    @DeleteMapping("/deleteSmsVisitorProcess")

    public ResponseResult deleteSmsVisitorProcess(@RequestBody SmsVisitorProcessVO smsVisitorProcess){
        return smsVisitorProcessService.deleteSmsVisitorProcess(smsVisitorProcess);
    }
    @ApiModelProperty(value = "修改审批流程")
    @VisitorExcludeCheck
    @PostMapping("/updateSmsVisitorProcess")
    public ResponseResult updateSmsVisitorProcess(@RequestBody SmsVisitorProcessVO smsVisitorProcess){
        return smsVisitorProcessService.updateSmsVisitorProcess(smsVisitorProcess);
    }
    @ApiOperation("查询审批流程")
    @VisitorExcludeCheck
    @GetMapping("/selectSmsVisitorProcess")
    public ResponseResult selectSmsVisitorProcess() {

        return smsVisitorProcessService.selectSmsVisitorProcess();
    }

    @ApiOperation("审批人查询审批流程")
    @VisitorExcludeCheck
    @GetMapping("/selectSmsVisitorProcessByProcessPeople")
    public ResponseResult selectSmsVisitorProcessByProcessPeople(@RequestBody SmsVisitorProcessVO smsVisitorProcess) {

        return smsVisitorProcessService.selectSmsVisitorProcessByProcessPeople(smsVisitorProcess);
    }




    @ApiOperation("通过ID查询审批流程")
    @VisitorExcludeCheck
    @GetMapping("/selectSmsVisitorProcessById")
    public ResponseResult selectSmsVisitorProcessById(@RequestParam(value = "id", required = false) String id
    ) {
        return smsVisitorProcessService.selectSmsVisitorProcessById(id);
    }

}

